iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
IT管理

萬丈高樓平地起:解決方案架構師的探索之旅系列 第 5

Day 5 : Solution Architect 管理與軟實力相關技能樹

  • 分享至 

  • xImage
  •  

今天將延續昨天提到的技能樹其他的項目,然後在每個技能的名詞改為英文的方式(直接翻中文有點怪怪的)

下述的內容為參考來源的資訊做摘要後的敘述

技能

Documentation

文件在軟體開發中佔有不可或缺的地位,不僅僅是程式碼的解釋者更是項目的指南針,以下是關於產出文件的一些核心觀點:

  • 架構文件的核心:在不同的情境下架構文件的重要性也有所不同,無論是為了明確的架構決策還是為了提供開發指南,都需要在開發前擁有一份清晰的文件。(ex : UML等工具可以作為文件的延伸和補充)
  • Clean Code : 將開發規則與指引轉換成文件,且能夠區分好的代碼和壞的代碼,Robert C. Martin的《Clean Code》是學習此方面的好資源。
  • 自動生成文件: 系統變化迅速如果每一次手動更新文件在時間或者是效率上是更加繁雜與耗時。因此可以參考例如API的文件產生方法,可以基於定義文件或直接從程式碼自動生成文件。(Swagger和RAML是學習此方面的好起點)
  • 文件的簡潔性: 專注於一次只記錄一件事並只包括必要的訊息,過多的細節會使文件變得冗長和難以理解,也可以說每一篇文件的關注點不要太發散(尤其是決策文件),更重要的是提出說服且具有價值的脈絡,而不是僅僅提供大量的數據與參考連結。
  • 學習架構框架: 框架如TOGAF或Zachmann不僅提供了文件的工具,更提供了系統化的架構設計和實踐的方法。

TOGAF:
TOGAF是The Open Group制定的企業架構方法論和框架,旨在幫助組織建立高效、靈活的IT架構。它提供工具和方法,確定業務需求並設計IT解決方案。官方資源

Zachman Framework:
Zachman Framework是一企業本體論,提供結構化方式定義企業。基於六個基本疑問詞描述企業方面,幫助組織理解和管理資訊資產。官方資源

Communication

  • 溝通的重要性: 解決方案的設計和思考能力出色但不能有效的傳達想法,可能會受到忽視或失敗(因為到執行階段很大機率跨部門合作,沒有清楚表達會有不信任或者是潛在的風險發生)。
  • 學習傳達想法: 除了例行會議或者整理成文件外,有時候也可以利用實體會議或者是現有的工具,透過圖像化或是直覺的方式歸納與闡述思考(《UZMO — 用筆思考》是提升此技能的好資源)
  • 面對不同規模的受眾進行演講: 應能夠向小組或大組呈現想法,一次又一次找到正確的溝通層次:,並且要視不同的利益相關者提出不同的觀點,換位思考去理解利益相關者的想法。
  • 經常溝通: 在設計初期提出原型或是需要跨部門討論時主動表達意見,可以加快各方達成共識,並且靈活調整彼此的想法。

Estimate and Evaluate

  • 了解基本的項目管理原則: 作為架構師經常被問及實現想法所需的時間、成本、人力等估算,然而應該要能給出天、月或年等大致估計工時,還要考慮實行以外的溝通與技術排除的時間,像是需求討論、測試和錯誤修復。
  • 評估"未知"架構: 要能評估架構對當前或未來情境的適用性,可以通過準備一套對每個架構都通用的問題來為此做準備,建議總是準備好一些問題例如以下幾點
    • 設計實踐:架構是否遵循模式?是否有明確的結構和關注點分離?
    • 開發實踐:是否有程式開發指南和版本控制規則?部署實踐如何?
    • 程式碼品質保證:測試自動化和靜態分析情況如何?
    • 安全性:架構具備哪些安全概念和內置安全性?

Balance

  • 架構與成本:架構設計需平衡品質與成本,避免過度工程增加成本和減緩開發。
  • 短期與長期:短期目標可能追求快速解決,而長期視角則需考慮持久性和可擴展性。
  • 溝通與策略:架構師是不同團隊間的橋樑,需解決衝突並確保策略的一致性。

Consult and Coach

  • 主動與遠見:不等問題來敲門,預見未來挑戰,並提前做好準備。
  • 願景:擁有清晰的中長期目標,作為團隊的指引。
  • 社群與交流:建立社群交換經驗,並定期討論新方法和挑戰。
  • 開放溝通:定期開放時間,討論熱點議題,確保團隊間的清晰溝通。

參考資料: Communities of Practice

Marketing Skills

  • 激勵與說服:展示系統的價值,使其易懂且具吸引力。

  • 原型展示:利用工具如draw.io或Xmind展示系統原型,使想法更具體。

  • 為您的想法而戰並堅持下去: 有時人們可能不喜歡您的想法,或者他們只是太懶惰而不願意跟隨。(當多數認為某想法不可行時,應遵循80/20原則重新評估其規劃。考慮其與公司策略的一致性、是否解決當前痛點、資源投入與回報比、技術風險及推廣策略。應謙虛接受反饋,找出規劃漏洞,以增加想法的可行性。)

  • 尋找盟友:找到支持者,確保解決方案符合大家的利益。

  • 持續推廣:重複宣傳,增強說服力。

結論

架構師除了技術與解決方案的評估能力外還需要具備溝通、預估、平衡利弊、指導團隊等全方位的技能,在評估上應考慮長短期目標的平衡,並主動溝通協調各方期望,推廣想法可利用原型展示、找盟友(跨部門合作的團隊或者是支持想法的同仁)持續努力促成共識。

整體而言架構師的角色不僅是設計,更是引導團隊實現願景的推手。

最後再透過這一張心智圖全觀的檢視這兩天提到的技能樹
Imgur


上一篇
Day 4 : Solution Architect 技術相關技能樹
下一篇
Day 6 : 如何讓資訊成為你的第二大腦(工具上選用的考量)
系列文
萬丈高樓平地起:解決方案架構師的探索之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言